<?php
/**
 * AEntitiesSearch abstract search classes.
 * @package Core
 * @subpackage Entity
 * @category Abstract
 * @author kovacsricsi
 */

abstract class AEntitiesSearch
{

	/**
	 * Array of entities.
	 * @access protected
	 * @var array
	 */
	protected $_entities;

	/**
	 * Constructor.
	 * @access public
	 * @return void
	 */
	public function __construct()
	{
		$this->_entities = array();
	}

	/**
	 * Returns with entitis.
	 * @access public
	 * @return Container
	 */
	public function getEntities()
	{
		return $this->_entities;
	}

	/**
	 * Select entitis id from database by parameters.
	 * @access public
	 * @param array $where
	 * @param array $order
	 * @param array $limit
	 * @return void
	 */
	abstract public function select($where = null, $order = null, $limit = null);

	/**
	 * Returns the max number of results.
	 * @access public
	 * @param array $where
	 * @return integer
	 */
	abstract public function getMax($where = null);
}
?>